from typing import Optional

from common_bind_service.models.param.common_param import TraceParam


class CommonCodeParam(TraceParam):
    upperpc_code: str  # 上位机编码


class CheckGenerateCoilNoParam(CommonCodeParam):
    user_code: str  # 员工编码
    equip_code: Optional[str]  # 设备编码
    process_code: Optional[str]  # 工序编码

    src_wip_no: list  # 极卷原料批次码
    wip_count: int  # 请求的批次码数量


class CheckGenerateCellSnParam(CommonCodeParam):
    user_code: Optional[str]  # 员工编码
    equip_code: str  # 设备编码
    process_code: Optional[str]  # 工序编码
    wip_type: int  # 请求的在制品条码类型
    wip_count: int  # 请求的批次码数量
    factory_code: str  # 工厂编码
    line_code: str  # 产线编码


class CheckBindAndUnbindCodeParam(CommonCodeParam):
    user_code: str  # 员工编码
    equip_code: Optional[str]  # 设备编码
    process_code: str  # 工序编码
    in_cell_sn: str  # 进站电芯码
    out_cell_sn: str  # 出站电芯码
